package com.xd.core.business.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author ZX
 * @since 2025-02-27
 */
@Accessors(chain = true)
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Contract对象", description="")
public class Contract implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "合同id")
    @TableId(value = "contract_id", type = IdType.AUTO)
    private Integer contractId;

    @ApiModelProperty(value = "进件id")
    private Integer incomingId;

    @ApiModelProperty(value = "放款id")
    private Integer outId;

    @ApiModelProperty(value = "合同编号")
    private String contractNo;

    @ApiModelProperty(value = "合同类型(0--个人信息使用授权书,1--借款合同,2--抵押合同,3--借款合同补偿协议,4--担保合同,5--还款承诺函,6--委托代扣授权书,,7-债券转让通知书,8-贷款结清证明,9-债权转让确认单," +
            "10-车险分期-借款合同,11-车险分期-法律文书送达地址确认书,12-车险分期-委托代扣授权书,13-车险分期-委托投保协议,14-车险分期-退保授权书)")
    private String type;

    @ApiModelProperty(value = "合同状态(1--待签署,2--已签署,,3-过期，4.拒签，5-失败)")
    private String status;

    @ApiModelProperty(value = "合同发起时间")
    private Date startTime;

    @ApiModelProperty(value = "合同地址")
    private String contract;

    @ApiModelProperty(value = "合同签署时间")
    private Date contractTime;

    @ApiModelProperty(value = "合同名称")
    private String contractName;

    @ApiModelProperty(value = "所属资方id")
    private Integer companyId;

    @ApiModelProperty(value = "合同预览链接")
    private String previewUrl;

    @ApiModelProperty(value = "合同签署链接")
    private String signUrl;
}
